<template>
  <div class="dynamic">
    <div>
      <div v-if="dataList.list">
        截止：{{ dataList.list[0].inputTime | dateFMT }}
      </div>
      <div class="data">
        <el-row :gutter="5">
          <el-col :span="8">
            <div class="grid-content bg-purple">
              <div>{{ confirmed }}</div>
              <div>累计确诊</div>
            </div>
          </el-col>
          <el-col :span="8">
            <div class="grid-content bg-purple">
              <div>{{ suspected }}</div>
              <div>累计疑似</div>
            </div>
          </el-col>
          <el-col :span="8">
            <div class="grid-content bg-purple">
              <div>{{ dead }}</div>
              <div>累计死亡</div>
            </div>
          </el-col>
        </el-row>
        <el-row :gutter="5">
          <el-col :span="8">
            <div class="grid-content bg-purple">
              <div>{{ cure }}</div>
              <div>累计治愈</div>
            </div>
          </el-col>
          <el-col :span="8">
            <div class="grid-content bg-purple">
              <div>{{ severe }}</div>
              <div>累计重症</div>
            </div>
          </el-col>
          <el-col :span="8">
            <div class="grid-content bg-purple">
              <div>{{ outside }}</div>
              <div>境外输入</div>
            </div>
          </el-col>
        </el-row>
      </div>
    </div>

    <div>
      <div>国内疫情</div>
      <div class="table_data">
        <el-row>
          <el-col :span="4">
            <div class="grid-content bg-purple">地区</div>
          </el-col>
          <el-col :span="4"
            ><div class="grid-content bg-purple-light">确诊</div></el-col
          >
          <el-col :span="4"
            ><div class="grid-content bg-purple">疑似</div></el-col
          >
          <el-col :span="4"
            ><div class="grid-content bg-purple-light">死亡</div></el-col
          >
          <el-col :span="4"
            ><div class="grid-content bg-purple">治愈</div></el-col
          >
          <el-col :span="4"
            ><div class="grid-content bg-purple-light">境外输入</div></el-col
          >
        </el-row>

        <!-- 动态生成数据 -->
        <el-row v-for="item in dataList.list" :key="item.id">
          <el-col :span="4">
            <div class="grid-content">{{ item.province }}</div>
          </el-col>
          <el-col :span="4"
            ><div class="grid-content">{{ item.confirmed }}</div></el-col
          >
          <el-col :span="4"
            ><div class="grid-content">{{ item.suspected }}</div></el-col
          >
          <el-col :span="4"
            ><div class="grid-content">{{ item.dead }}</div></el-col
          >
          <el-col :span="4"
            ><div class="grid-content">{{ item.cure }}</div></el-col
          >
          <el-col :span="4"
            ><div class="grid-content">{{ item.outside }}</div></el-col
          >
        </el-row>
      </div>
    </div>
    <div>
      <div>最新进展</div>
      <div style="background-color: #f8f8f8; padding: 10px">
        <div
          style="margin-bottom: 10px"
          v-for="(item, index) in article.list"
          :key="item.id"
        >
          <div class="logo">
            <div></div>
            <div v-if="index == 0" class="tag">最新</div>
            <div>{{ item.publishTime | dateFMT }}</div>
          </div>
          <div
            style="background-color: #fff; padding: 10px; border-radius: 5px"
            @click="detail_(item.id)"
          >
            {{ item.title }}
          </div>
        </div>
        <el-dialog title="详细内容" :visible.sync="dialogVisible" width="60%">
          <!-- 详情的标题 -->
          <!-- {{detail}} -->

          <h1>{{ detail.title }}</h1>
          <div v-html="detail.content"></div>
          <span slot="footer" class="dialog-footer">
            <el-button @click="dialogVisible = false">取 消</el-button>
            <el-button type="primary" @click="dialogVisible = false"
              >确 定</el-button
            >
          </span>
        </el-dialog>
      </div>
    </div>
    <el-pagination
      background
      layout="prev, pager, next"
      :page-size="obj2.pageSize"
      :current-page="obj2.page"
      @current-change="change_page"
      :total="article.total"
    >
    </el-pagination>
  </div>
</template>
<script>
import { mapActions, mapState, mapGetters } from "vuex";
export default {
  data() {
    return {
      dialogVisible: false,
      obj: {
        page: 1,
        pageSize: 1000,
      },
      obj2: {
        page: 1,
        pageSize: 10,
      },
    };
  },
  watch: {
    obj2: {
      handler: function () {
        this.page_query_article(this.obj2);
      },
      deep: true,
    },
  },
  filter: {
    dateFMT(res) {
      res = moment(res).format("YYYY-MM-DD");
    },
  },
  computed: {
    ...mapState("dataList", ["dataList"]),
    ...mapState("article", ["article"]),
    ...mapState("article", ["detail"]),
    ...mapGetters("dataList", [
      "confirmed",
      "suspected",
      "dead",
      "cure",
      "severe",
      "outside",
      "inputTime",
    ]),
  },
  created() {
    this.page_query(this.obj);
    this.page_query_article({ page: 1, pageSize: 10 });
  },
  methods: {
    ...mapActions("dataList", ["page_query"]),
    ...mapActions("article", ["page_query_article", "aritle_detail"]), //前面是状态机的名字，后面是状态机里面的方法
    detail_(id) {
      // console.log(id);
      this.dialogVisible = true;
      // this.aritle_detail({id}).then((res)=>{
      //   // console.log(res.data.content,'====');
      //   this.de = res.data

      // })
      this.aritle_detail({ id });
    },
    change_page(val) {
      // console.log(val);
      this.obj2.page = val;
    },
  },
};
</script>


<style scoped>
/* scoped用来防止不同的组件之间相同类名的样式污染 */
.logo .tag {
  background-color: red;
  padding: 3px;
  font-size: 12px;
  color: #fff;
  border-radius: 5px;
}
.logo div:first-child {
  border-radius: 50%;
  width: 10px;
  height: 10px;
  background-color: #005dff;
  margin-top: 3px;
}
.logo div {
  float: left;
  margin-right: 5px;
}
.logo {
  overflow: hidden;
  margin-bottom: 5px;
}
.data .grid-content div:first-child {
  color: #ff6900;
}
.data .grid-content div {
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-weight: 700;
}
.el-row {
  margin-bottom: 5px;
}
.el-row:last-child {
  margin-bottom: 0;
}
/* .dynamic >>> .el-col {
  border-radius: 4px;
  padding-right: 0;
} */
.bg-purple-dark {
  background: #99a9bf;
}
.bg-purple {
  background: #fbf5ef;
}
.bg-purple-light {
  background: #e5e9f2;
}
.data .grid-content {
  border-radius: 4px;
  min-height: 80px;
}
.table_data .grid-content {
  min-height: 60px;
  text-align: center;
  line-height: 60px;
}
.row-bg {
  padding: 10px 0;
  background-color: #f9fafc;
}
</style>